Voice over Internet (i.e. VoIP) communication terminals provide the capability to receive both voice mail messages and conventional email or data messages. Such systems may incorporate unified messaging. In unified messaging, voice messages show up as items in an email inbox.
Voice messaging systems handle two types of calls or sessions. The first type comprises call answering sessions during which messages are left in the voice mail box for a client, i.e. a communication terminal. The second type comprises message pickup sessions. During a message pickup session, a client retrieves voice messages left in their inbox. When the client, i.e. user, retrieves the voice message at their terminal, a file is read from the message stored in the communication terminal and sent across the communication network to the message server to retrieve the voice message stream. The message server includes an inbox which stores the voice messages for the user.
Common traffic patterns for voice message systems have one voice message stored or deposited per call answer session, and multiple messages retrieved during a message pickup call or playback session. Based on this type of traffic pattern, the number of call answering sessions typically exceeds the number of message pickup sessions.
The traffic patterns for voice message systems have led to attempts to improve the handling of call traffic. Call traffic handling is typically impacted by the need to transcode voice messages which have been encoded using different types of codecs. Codecs comprise coders/encoders which convert the pulse coded modulation (PCM) voice data samples according to various voice compression formats, such as G.711, G.723.1 and G.729A. Transcoding requires execution by the digital signal processor (i.e. the CPU) on the voice message server and/or call server, and can be processor intensive.
One common idea in the art involves selecting a single codec at the voice message server to avoid the need for any transcoding and the resultant impact on digital signal processing resources. Two commonly used voice compression formats are the G.711 ITU Standard and the G.729A ITU Standard.
In one approach, the G.711 standard codec is used throughout the voice message system. This means that if a client terminal is talking over the network to an endpoint terminal operating with G.729A codec, then a gateway server needs to transcode between the G.711 format and the G.729A format. This requires digital signal processing and ties up processor resources at the gateway server. In addition, there is an impact on voice quality in the voice message because G.729A results in a lower voice quality than G.711. During a call answering session, the G.711 voice message is encoded in G.729A before arriving at the gateway server, which then decodes the voice message to G.711 format. If the voice message is subsequently retrieved on another G.729A endpoint, the voice message needs to re-encoded again in G.729A voice compression format. Since the G.729A voice compression technique introduces losses, two encodings from G.711 to G.729A can significantly degrade the voice quality of the original voice message.
In another approach, the G.729A codec is selected for voice compression in the voice message server. Since G.711 provides better voice quality, many users prefer the G.711 format for use within a site, e.g. a LAN, and the G.729A format is limited to use between sites to save on bandwidth for the WAN communications. Forcing all voice messages to be stored in G. 729A format leads to a drop in voice quality for voice messages which remain within the site communication network or LAN, i.e. never cross the WAN.
Accordingly, there still remains a need for improving the voice messaging call traffic that can be handled by a given amount of hardware or system resources, while not unnecessarily degrading the voice quality of the voice messages.